home *** CD-ROM | disk | FTP | other *** search
/ System Booster / System Booster.iso / Screenblankers / FT / win.h < prev   
Text File  |  1996-09-26  |  6KB  |  328 lines

  1. /*--------------------------------------------------------------------------*/
  2. /*                                                                            */
  3. /*                    F l y i n g   T o a s t e r s                            */
  4. /*                                                                            */
  5. /*                                                                            */
  6. /*                                                                            */
  7. /*--------------------------------------------------------------------------*/
  8. /*    WIN.c                                                                    */
  9. /*--------------------------------------------------------------------------*/
  10.  
  11.  
  12. #if defined(WIN_C)
  13.  
  14.  
  15. /*--------------------------------------------------------------------------
  16.                             D E F I N I T I O N S
  17.   --------------------------------------------------------------------------*/
  18. #define    BEVEL_X    (popup_win->Width - popup_win->BorderRight - IM_WIDTH - 12 * GAP)
  19. #define    BEVEL_Y    (popup_win->BorderTop + 10)
  20.  
  21. #define    GAP            5
  22. #define    BEVEL_DX    (IM_WIDTH + 10 * GAP)
  23. #define    BEVEL_DY    (IM_HEIGHT + 2 * GAP)
  24. #define    FT_X        (BEVEL_X + 5 * GAP)
  25. #define    FT_Y        (BEVEL_Y + GAP)
  26.  
  27. #define    GADGETMAX            9
  28. #define    GAD_OBJECTS            0
  29. #define    GAD_TIMEOUT            1
  30. #define    GAD_DELAYRATE        2
  31. #define    GAD_HIDE            3
  32. #define    GAD_QUIT            4
  33. #define    GAD_BLANK            5
  34. #define    GAD_FLIGHT_MODE        6    
  35. #define    GAD_SLEEP            7
  36. #define    GAD_NEVER            8
  37.  
  38. #define    MN_HIDE            0
  39. #define    MN_QUIT            1
  40. #define    MN_BLANK        2
  41. #define    MN_ABOUT        3
  42. #define    MN_FREE_FLIGHT    4
  43. #define    MN_DEF_FLIGHT    5
  44. #define    MN_LOOP            6
  45. #define    MN_FACE2FACE    7
  46.  
  47.  
  48. #define    WINFLAGS        (WFLG_SMART_REFRESH | WFLG_ACTIVATE | \
  49.                         WFLG_DRAGBAR | WFLG_DEPTHGADGET | \
  50.                         WFLG_CLOSEGADGET)
  51. #define    IDCMPFLAGS        (SLIDERIDCMP | IDCMP_CLOSEWINDOW | \
  52.                         IDCMP_MENUPICK | MXIDCMP | CYCLEIDCMP)
  53.  
  54. #define    POINTER_HEIGHT    0
  55. #define    POINTER_WIDTH    0
  56.  
  57.  
  58.  
  59.  
  60. /*--------------------------------------------------------------------------
  61.                             V A R I A B L E S
  62.   --------------------------------------------------------------------------*/
  63. LOCAL struct TagItem    win_tags[] = {
  64.     WA_Left,          0,                                    // 0
  65.     WA_Top,           0,                                    // 1
  66.     WA_Width,         640,                                    // 2
  67.     WA_Height,        512,                                    // 3
  68.     WA_IDCMP,         0,                                    // 4
  69.     WA_Flags,         WFLG_SIMPLE_REFRESH|WFLG_BORDERLESS|
  70.                       WFLG_ACTIVATE,                        // 5
  71.     WA_ScreenTitle,   0L,                                    // 6
  72.     WA_CustomScreen,  0L,                                    // 7
  73.     TAG_DONE };
  74.  
  75.  
  76. LOCAL    struct    TagItem    popup_win_tag[] = {
  77.     { WA_Left,                (Tag) 20 },
  78.     { WA_Top,                (Tag) 20 },
  79.     { WA_Title,             (Tag) "Flying Toasters! (w)92 Gernot Reisinger" },
  80.     { WA_Width,                (Tag) 400 },
  81.     { WA_Height,            (Tag) 200 },
  82.     { WA_PubScreenName,     (Tag) "Workbench" },
  83.     { WA_AutoAdjust,         (Tag) TRUE },
  84.     { WA_PubScreenFallBack, (Tag) TRUE },
  85.     { WA_IDCMP,             (Tag) IDCMPFLAGS },
  86.     { WA_Flags,             (Tag) WINFLAGS },
  87.     { TAG_DONE,                (Tag) 0 }
  88.     };
  89.  
  90.  
  91. LOCAL struct ColorSpec  scr_cols[] = {
  92.      0, 0x00, 0x00, 0x00,
  93.      1, 0x0F, 0x0F, 0x0F,
  94.     ~0, 0x00, 0x00, 0x00 };
  95.  
  96. LOCAL UWORD    dri_pens[] = {
  97.     ~0 };
  98.  
  99. LOCAL struct TagItem    scr_tags[] = {
  100.     SA_Left,        0,                                        // 0
  101.     SA_Top,            0,                                        // 1
  102.     SA_Depth,        1,                                        // 2
  103.     SA_Behind,        TRUE,                                    // 3
  104.     SA_Quiet,        TRUE,                                    // 4
  105.     SA_Overscan,    OSCAN_MAX,                                // 5
  106.     SA_Colors,        (LONG) scr_cols,                        // 6
  107.     SA_Type,        CUSTOMSCREEN,                            // 7
  108.     SA_DisplayID,    HIRESLACE_KEY,                            // 8
  109.     SA_Pens,        (LONG) dri_pens,                        // 9
  110.     TAG_DONE
  111.     };
  112.  
  113.  
  114. LOCAL struct TextAttr ta_courier = {
  115.     "courier.font",11,FS_NORMAL,FPF_DISKFONT
  116.     };
  117.  
  118. LOCAL struct IntuiText itxt = {
  119.     1,0,
  120.     JAM2,
  121.     0,0,
  122.     &ta_courier,
  123.     NULL,
  124.     NULL
  125.     };
  126.  
  127. LOCAL UCHAR *about_txt[] = {
  128. //    "12345678901234567",
  129. //            |
  130.     "",
  131.     "",
  132.     "",
  133.     "",
  134.     "",
  135.     "",
  136.     "",
  137.     "",
  138.     "",
  139.     "",
  140.     "",
  141.     "",
  142.     "      It's"
  143.     "",
  144.     "",
  145.     "",
  146.     "     Flying",
  147.     "    Toasters!",
  148.     "",
  149.     "   Written by",
  150.     "     Gernot",
  151.     "    Reisinger",
  152.     "",
  153.     " Flying Toasters",
  154.     "is public domain.",
  155.     " No commercial",
  156.     "    selling!",
  157.     "",
  158.     "     Send",
  159.     " me a Postcard",
  160.     "of your Hometown",
  161.     "",
  162.     "    write to",
  163.     "",
  164.     "Gernot Reisinger",
  165.     "  Geinberg 121",
  166.     "  4943 Austria",
  167.     "    (Europe)",
  168.     "",
  169.     "     EMail:",
  170.     "",
  171.     "       gr@\\",
  172.     "  cast.uni-linz\\",
  173.     "      ac.at",
  174.     NULL
  175.     };
  176.  
  177.  
  178. LOCAL UCHAR    *flight_mode_txt[] = {
  179.     "Free Flight",
  180.     "Default Flight",
  181.     "Loop",
  182.     "Face2Face",
  183.     NULL
  184.     };
  185.  
  186.  
  187. LOCAL    UWORD chip pointer_data[] = {
  188.     0
  189.     };
  190.  
  191.  
  192. LOCAL struct NewGadget ng[GADGETMAX] = {
  193.     {
  194.         0,
  195.         0,
  196.         120,
  197.         13,
  198.         "Number of Objects",
  199.         &ta_courier,
  200.         GAD_OBJECTS,
  201.         PLACETEXT_ABOVE,
  202.         NULL,
  203.         NULL
  204.         },
  205.     {
  206.         0,
  207.         0,
  208.         120,
  209.         13,
  210.         "Screen Timeout",
  211.         &ta_courier,
  212.         GAD_TIMEOUT,
  213.         PLACETEXT_ABOVE,
  214.         NULL,
  215.         NULL
  216.         },
  217.     {
  218.         0,
  219.         0,
  220.         120,
  221.         13,
  222.         "Speedometer",
  223.         &ta_courier,
  224.         GAD_DELAYRATE,
  225.         PLACETEXT_ABOVE,
  226.         NULL,
  227.         NULL
  228.         },
  229.     {
  230.         2 * GAP,
  231.         - 2 * GAP - 15,
  232.         60,
  233.         15,
  234.         "Hide",
  235.         &ta_courier,
  236.         GAD_HIDE,
  237.         PLACETEXT_IN,
  238.         NULL,
  239.         NULL
  240.         },
  241.     {
  242.         GAP * 2 + 1 * (60 + INTERWIDTH),
  243.         - 2 * GAP - 15,
  244.         60,
  245.         15,
  246.         "Blank",
  247.         &ta_courier,
  248.         GAD_BLANK,
  249.         PLACETEXT_IN,
  250.         NULL,
  251.         NULL
  252.         },
  253.     {
  254.         GAP * 2 + 2 * (60 + INTERWIDTH),
  255.         - 2 * GAP - 15,
  256.         60,
  257.         15,
  258.         "Quit",
  259.         &ta_courier,
  260.         GAD_QUIT,
  261.         PLACETEXT_IN,
  262.         NULL,
  263.         NULL
  264.         },
  265.     {
  266.         0,0,
  267.         0,
  268.         0,
  269.         NULL,
  270.         &ta_courier,
  271.         GAD_FLIGHT_MODE,
  272.         PLACETEXT_RIGHT,
  273.         NULL,
  274.         NULL
  275.         },
  276.     {
  277.         0,0,
  278.         120,
  279.         15,
  280.         "Sleep Corner",
  281.         &ta_courier,
  282.         GAD_SLEEP,
  283.         PLACETEXT_ABOVE,
  284.         NULL,
  285.         NULL
  286.         },
  287.     {
  288.         0,0,
  289.         120,
  290.         15,
  291.         "Never Sleep Corner",
  292.         &ta_courier,
  293.         GAD_NEVER,
  294.         PLACETEXT_ABOVE,
  295.         NULL,
  296.         NULL
  297.         }
  298.     };
  299.  
  300.  
  301. LOCAL    struct    NewMenu prefs_nmenu[] = {
  302.     { NM_TITLE,    "Project",                NULL,    0,    0,    NULL },
  303.     { NM_ITEM,    "About",                 NULL,    0,    0,    (APTR) MN_ABOUT },
  304.     { NM_ITEM,    "Hide",                 "H",    0,    0,    (APTR) MN_HIDE },
  305.     { NM_ITEM,    NM_BARLABEL,            NULL,    0,    0,    NULL },
  306.     { NM_ITEM,    "Quit",                    "Q",    0,    0,    (APTR) MN_QUIT },
  307.     { NM_TITLE,    "Action",                NULL,    0,    0,    NULL },
  308.     { NM_ITEM,    "Blank Screen",            "B",    0,    0,    (APTR) MN_BLANK },
  309.     { NM_ITEM,    NM_BARLABEL,            NULL,    0,    0,    NULL },
  310.     { NM_ITEM,    "Free Flight",            "1",    0,    0,    (APTR) MN_FREE_FLIGHT },
  311.     { NM_ITEM,    "Default Flight",        "2",    0,    0,    (APTR) MN_DEF_FLIGHT },
  312.     { NM_ITEM,    "Loop"        ,            "3",    0,    0,    (APTR) MN_LOOP },
  313.     { NM_ITEM,    "Face2Face",            "4",    0,    0,    (APTR) MN_FACE2FACE },
  314.     { NM_END,    NULL,                    NULL,    0,    0,    NULL }
  315.     };
  316. LOCAL    struct    Menu    *prefs_menu;
  317.  
  318. UCHAR    *corner_txt[] = {
  319.     "top left",
  320.     "top right",
  321.     "bottom left",
  322.     "bottom right",
  323.     "disabled",
  324.     NULL
  325.     };
  326.  
  327. #endif
  328.